/*
 * Copyright 2022-2029 heshuixing(https://gitee.com/heshuixing)
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.mercury.ec.module.air.controller.admin.search.vo.rt;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDate;

import static com.mercury.ec.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY;

/**
 * RT 乘客信息
 *
 * @author hesx
 */
@Schema(description = "管理后台 - RT乘客 Response VO")
@Data
public class AirRtPassengerRespVO {

    @Schema(description = "姓名", example = "张三")
    private String name;

    @Schema(description = "乘客类型 字典（system_passenger_type 1-成人/2-儿童/3-婴儿）", example = "1")
    private Integer type;

    @Schema(description = "是否携带婴儿", example = "true")
    private Boolean haveBaby;

    @Schema(description = "国籍", example = "CN")
    private String countryNo;

    @Schema(description = "证件签发国", example = "CN")
    private String cardIssuingCountryNo;

    @Schema(description = "证件类型 字典（system_card_type）", example = "1")
    private Integer cardType;

    @Schema(description = "证件号码", example = "123456789")
    private String cardNo;

    @Schema(description = "证件有效期")
    private LocalDate cardValidDate;

    @Schema(description = "性别 字典（system_user_sex）", example = "1")
    private Integer sex;

    @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY)
    @Schema(description = "出生日期")
    private LocalDate birthday;

    @Schema(description = "出票代码", example = "479")
    private String airlineIssueNo;

    @Schema(description = "票号", example = "123456789")
    private String ticketNo;

    @Schema(description = "终止票号", example = "21")
    private String ticketLastNo;

    @Schema(description = "手机号", example = "123456789")
    private String mobile;
}
